#ifndef VKRENDER_H
#define VKRENDER_H

//It's for vulkan window surface
#ifdef __linux__
#define VK_USE_PLATFORM_XCB_KHR
#elif _WIN32
#define VK_USE_PLATFORM_WIN32_KHR
#endif

#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

#include <vulkan/vulkan.h>
#include <vector>
#include <string>

#include <app/Application.h>
#include <render/output/window.h>

class vkrender {
public:
    void initilization ( Application&, Window* );
    
private:
    Application *app;
    Window* window;
    VkInstance instance;
    VkPhysicalDevice physicalDevice;
    std::vector < VkPhysicalDevice > devices;

    void mainLoop ();
};

#endif // VKRENDER_H
